/**
 * auto: kaseisai
 * email: 1015064692@qq.com
 */
//alert(444);
//背景宽
width=1000;
//背景高
height=625;
//画布背景图
bgImg = new Image();
//拿到背景图
bgImg.src = "images/bg.jpg";

canvas = document.getElementById('canvas').getContext('2d');
//首先定义运动时间间隔，为空
canvasTimer = null;
gameRun=true;
//小蛇吃到的小球数量
snakeNums = 0;
//小蛇吃到小球后的速度,默认值为600
speed = 600;
//小蛇集合，有蛇头和蛇身组合而成
snakeList=[

];
//游戏实例化
game = new game();

function game()
{
	this.run= function ()
	{
		//绘制画布背景
		canvas.drawImage(bgImg,0,0,width,height);
		//初始时蛇的位置，x y 
		snakeList[0]=new snake(500,400,snakeImg[0],0);
		snakeList[1] = new snake(500,425,bodyImg,0);
		snakeList[2] = new snake(500,450,bodyImg,0);
		snakeList[3] = new snake(500,475,bodyImg,0);
		//添加键盘事件,只针对蛇头起作用，因为只需要在改变蛇头位置之后，后面的蛇身跟着前一个改变就可以了
		document.onkeydown = snakeList[0].keydown;
		//调用方法，重绘画布
		this.flushCanvas();
			
	}
		//重绘画布
		this.flushCanvas= function()
		{
			//绘制背景
			canvas.drawImage(bgImg,0,0,width,height);
			//画布左上角的文字提示
			game.writeText();
			//添加随机块
			snakeList[0].drawRandSnake();
			//更改蛇坐标
			snakeList[0].changePos();
			//重绘蛇
			snakeList[0].draw();
			//随机块碰撞测试
			snakeList[0].hitRandSnake();
			//画布边界碰撞测试
			snakeList[0].checkHit();
			//蛇头碰撞蛇身检测
			snakeList[0].checkSnake();
			//定时理绘
			if(canvasTimer)
			{
				clearInterval(canvasTimer);
			}
			if(gameRun)
			canvasTimer = setInterval(game.flushCanvas,speed);
			
		}
		
		//写文字
		this.writeText = function()
		{
			//文字样式
			canvas.font = '30px 黑体';
			//文字颜色
			canvas.fillStyle = 'white';
			//文字内容
			canvas.fillText("吃了:"+snakeNums+"个",10,30);
		}
		
		//游戏结束
		this.over= function()
		{
			gameRun = false;
			alert("game over!!!再来一次");
		}
		
		
		
}

























